<?php
/*

//传统的做法是，新建一个字类继承父类，然后新增功能。但是有多个不同新增功能时，比如，一个功能要改颜色，不改大小，另外一个功能是只改大小，不改颜钯，就只能不断创建不同的子类。
spl_autoload_register();

class canvasNew extends \vendor\Canvas{
    public function draw(){
        echo '<div style="color:red">';
        parent::draw();
        echo '</div>';
    }
}

$canvas1 = new canvasNew();
$canvas1->init();
$canvas1->rect(3,6,4,12);
$canvas1->draw();

*/

spl_autoload_register();
$canvas1 = new \vendor\Canvas();
$canvas1->init();
$canvas1->addDecorator(new \vendor\ColorDrawDecorator('green'));
$canvas1->addDecorator(new \vendor\SizeDrawDecorator('36px'));
$canvas1->rect(3,6,4,12);
$canvas1->draw();
